/**
 * jims
 */
package com.jims.master.modules.finance.entity;

import com.jims.master.common.persistence.DataEntity;
import com.jims.master.modules.doctor.entity.PatMasterIndex;
import org.hibernate.validator.constraints.Length;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 门诊收费记录Entity
 * @author chentao
 * @version 2017-03-06
 */
public class OutpRcptMaster extends DataEntity<OutpRcptMaster> {
	
	private static final long serialVersionUID = 1L;
	private String patientId;		// 病人信息Id
	private String rcptNo;		// 收费号
	private String serialNo;//流水号
	private String totalCosts;		// 总费用
	private String totalCharges;		// 应收费用
	private String chargeIndicator;		// 交费标志
	private String refundedRcptNo;		// 退费号
	private String refundedPerson;//退费人
	private String acctNo;		// 结账号
	private String applyDoctor;		// 开单医生
	private String applyDept;		// 开单科室
	private String implementDept;		// 执行科室
	private String implementUser;		// 执行人
	private Date   createDate;    //收费时间
	private Date   visitDate;     //就诊日期

	//private String visitNo ; //就诊号
	private String tollStartTime; // 计费日期开始时间
	private String tollEndTime; //  计费日期结束时间
	private PatMasterIndex patMasterIndex; //姓名
	private List<OutpBillItems> outpBillItemsList;
    private String moneyType;
    private String cardFlag;
    private String cardNo;
    private List<String> rcptNos=new ArrayList<String>();

    public String getMoneyType() {
        return moneyType;
    }

    public void setMoneyType(String moneyType) {
        this.moneyType = moneyType;
    }

    public Date getVisitDate() {
		return visitDate;
	}

	public void setVisitDate(Date visitDate) {
		this.visitDate = visitDate;
	}

	public PatMasterIndex getPatMasterIndex() {
		return patMasterIndex;
	}

	public void setPatMasterIndex(PatMasterIndex patMasterIndex) {
		this.patMasterIndex = patMasterIndex;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getTollStartTime() {
		return tollStartTime;
	}

	public void setTollStartTime(String tollStartTime) {
		this.tollStartTime = tollStartTime;
	}

	public String getTollEndTime() {
		return tollEndTime;
	}

	public void setTollEndTime(String tollEndTime) {
		this.tollEndTime = tollEndTime;
	}

	public OutpRcptMaster() {
		super();
	}

	public OutpRcptMaster(String id){
		super(id);
	}

	@Length(min=1, max=64, message="病人信息Id长度必须介于 1 和 64 之间")
	public String getPatientId() {
		return patientId;
	}

	public void setPatientId(String patientId) {
		this.patientId = patientId;
	}
	
	@Length(min=1, max=200, message="收费号长度必须介于 1 和 200 之间")
	public String getRcptNo() {
		return rcptNo;
	}

	public void setRcptNo(String rcptNo) {
		this.rcptNo = rcptNo;
	}
	
	public String getTotalCosts() {
		return totalCosts;
	}

	public void setTotalCosts(String totalCosts) {
		this.totalCosts = totalCosts;
	}
	
	public String getTotalCharges() {
		return totalCharges;
	}

	public void setTotalCharges(String totalCharges) {
		this.totalCharges = totalCharges;
	}
	
	@Length(min=1, max=1, message="交费标志长度必须介于 1 和 1 之间")
	public String getChargeIndicator() {
		return chargeIndicator;
	}

	public void setChargeIndicator(String chargeIndicator) {
		this.chargeIndicator = chargeIndicator;
	}
	
	@Length(min=0, max=200, message="退费号长度必须介于 0 和 200 之间")
	public String getRefundedRcptNo() {
		return refundedRcptNo;
	}

	public void setRefundedRcptNo(String refundedRcptNo) {
		this.refundedRcptNo = refundedRcptNo;
	}
	
	@Length(min=0, max=200, message="结账号长度必须介于 0 和 200 之间")
	public String getAcctNo() {
		return acctNo;
	}

	public void setAcctNo(String acctNo) {
		this.acctNo = acctNo;
	}
	
	@Length(min=0, max=64, message="开单医生长度必须介于 0 和 64 之间")
	public String getApplyDoctor() {
		return applyDoctor;
	}

	public void setApplyDoctor(String applyDoctor) {
		this.applyDoctor = applyDoctor;
	}
	
	@Length(min=0, max=64, message="开单科室长度必须介于 0 和 64 之间")
	public String getApplyDept() {
		return applyDept;
	}

	public void setApplyDept(String applyDept) {
		this.applyDept = applyDept;
	}
	
	@Length(min=0, max=64, message="执行科室长度必须介于 0 和 64 之间")
	public String getImplementDept() {
		return implementDept;
	}

	public void setImplementDept(String implementDept) {
		this.implementDept = implementDept;
	}
	
	@Length(min=0, max=64, message="执行人长度必须介于 0 和 64 之间")
	public String getImplementUser() {
		return implementUser;
	}

	public void setImplementUser(String implementUser) {
		this.implementUser = implementUser;
	}

	public List<OutpBillItems> getOutpBillItemsList() {
		return outpBillItemsList;
	}

	public void setOutpBillItemsList(List<OutpBillItems> outpBillItemsList) {
		this.outpBillItemsList = outpBillItemsList;
	}

	public String getSerialNo() {
		return serialNo;
	}

	public void setSerialNo(String serialNo) {
		this.serialNo = serialNo;
	}

	public String getRefundedPerson() {
		return refundedPerson;
	}

	public void setRefundedPerson(String refundedPerson) {
		this.refundedPerson = refundedPerson;
	}

    public String getCardFlag() {
        return cardFlag;
    }

    public void setCardFlag(String cardFlag) {
        this.cardFlag = cardFlag;
    }

    public boolean isReadCard(){
        boolean returnVal=false;
        if(this.cardFlag!=null&&!"".equals(this.cardFlag)&&"1".equals(this.cardFlag)){
            returnVal=true;
        }
        return returnVal;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public List<String> getRcptNos() {
        return rcptNos;
    }

    public void setRcptNos(List<String> rcptNos) {
        this.rcptNos = rcptNos;
    }
}